#include <stdio.h>
#include <string.h>
#include <unistd.h>
#include <stdlib.h>


int main(int argc, char* argv[], char* env[])
{
  char* path = getenv("PATH");
  if(path == NULL)
  {
    return 1;
  }
  printf("path: %s\n", path);

  // main函数有三个参数，
  // argc表示传入main函数的参数个数
  // argv[]表示传入的main函数的参数序列或指针
  // 并且第一个参数argv[0]一定是程序的名称，
  // 并且包含了程序所在的完整路径，
  // 所以确切的说需要我们输入的main函数的参数个数应该是argc-1个
  // argv[argc]为NULL
  //第三个参数是环境变量
  //int i = 0;
  //for(i = 0; env[i]; i++)
  //{
  //  printf("environ[%d]->%s\n", i, env[i]);
  //}
  


  fork();
  //int i = 0;
  //extern char** environ;
  //for(i = 0; environ[i]; i++)
  //{
  //  printf("environ[%d]->%s\n", i, environ[i]);
  //}
}









//int g_val = 100000;

//int main()
//{
//  printf("I am father process, pid: %d, ppid: %d,  g_val: %d\n", getpid(), getppid(), g_val);
//  sleep(5);
//  pid_t id = fork();
//  if(id == 0)
//  {
//    //child
//    while(1)
//    {
//       printf("I am child process, pid: %d, ppid: %d,  g_val: %d\n", getpid(), getppid(), g_val);
//       sleep(1);
//    }
//  }
//  else
//  {
//    //father
//    while(1)
//    {
//       printf("I am father process, pid: %d, ppid: %d,  g_val: %d\n", getpid(), getppid(), g_val);
//       sleep(1);
//    }
//  }
//}
//

//int main(int argc, char *argv[])
//{
//  printf("I am father process, pid: %d, ppid: %d,  g_val: %d\n", getpid(), getppid(), g_val);
//  if(argc != 2)
//  {
//    printf("Usage: %s -[a, b, c, d]\n", argv[0]);
//    return 1;
//  }
//
//  if(strcmp(argv[1], "-a") == 0)
//  {
//    printf("this is function1\n");
//  }
//
//  else if(strcmp(argv[1], "-b") == 0)
//  {
//    printf("this is function2\n");
//  }
//
//  else if(strcmp(argv[1], "-c") == 0)
//  {
//    printf("this is function3\n");
//  }
//
//  else if(strcmp(argv[1], "-d") == 0)
//  {
//    printf("this is function4\n");
//  }
//
//  else
//  {
//    printf("no this function!!\n");
//  }
//
//  //int i = 0;
//  //for(i = 0; argv[i]; i++)
//  //{
//  //  printf("argv[%d]->%s\n", i, argv[i]); 
//  //}
//}
